struct S_cbPerObjectBones
{
  float4 v4Bones[4095];
};

shared cbuffer _cbPerObjectBones : register(b4)
{
  S_cbPerObjectBones cbPerObjectBones;
};

struct v2f
{
  float4 HPosition: SV_POSITION;
  float4 Position: POSITION;
};

struct a2v_StandardWeighted
{
  float4 Position: POSITION0;
  int4 Indices: BLENDINDICES;
};

float3x4 FailFunc(int4 i, float4 v4Bones[4095])
{
  float4 mRow1 = v4Bones[i.x+0];
  return float3x4(mRow1, mRow1, mRow1);
}

v2f Test_VS(a2v_StandardWeighted input)
{
  v2f OUT=(v2f)0;
  float4 inputPosition = float4(input.Position.xyz, 1);
  int4 i = input.Indices;
  float3x4 mMatrix = FailFunc(i, cbPerObjectBones.v4Bones);
  float4 v4Position = float4(mul(mMatrix, inputPosition), 1);
  OUT.Position = v4Position;
  return OUT;
}